#ifndef EVENTGENERATOR_H_
#define EVENTGENERATOR_H_

#include "util/events/Event.h"
#include "util/LinkedList.h"
#include "util/events/EventListener.h"

class EventGenerator {
public:

	EventGenerator() {}

	virtual ~EventGenerator() {
		while (!listeners.isEmpty()) delete listeners.removeFirst();
	}

	virtual void addEventListener(EventListener* eventListener);

	virtual void fireEvent(Event* event);

private:

	util::LinkedList<EventListener> listeners;

};

#endif /* EVENTGENERATOR_H_ */
